package com.yanqu.road.entity.log.hotpotjump;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.log.ServerBaseLog;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.Date;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_l_activity_hotpot_jump_move", desc = "欢跃火锅移动", autoSave = true, dataUpload = true, eventName = "hotpot_move", uploadCk = true)
public class LogHotpotJumpJumpMove extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动ID", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "开局总次数", dataAttribute = "hotpot_time")
    private int totalTimes;
    @FieldTypeAnnotation(desc = "回合", dataAttribute = "hotpot_round")
    private int round;
    @FieldTypeAnnotation(desc = "火锅类型", dataAttribute = "hotpot_type")
    private int pot;
    @FieldTypeAnnotation(desc = "最终落点X,Y", dataAttribute = "hotpot_pos")
    private String jumpPos;
    @FieldTypeAnnotation(desc = "跳跃数", dataAttribute = "hotpot_step")
    private int jumpNum;
    @FieldTypeAnnotation(desc = "角色等级", dataAttribute = "hotpot_level")
    private int roleLv;
    @FieldTypeAnnotation(desc = "当前技能", dataAttribute = "hotpot_skill", saveJson = true)
    private List<String> roleSkill;
    @FieldTypeAnnotation(desc = "击杀的怪", dataAttribute = "hotpot_kill", saveJson = true)
    private List<Integer> kills;
    @FieldTypeAnnotation(desc = "总输出", dataAttribute = "hotpot_hurt")
    private int hurt;
    @FieldTypeAnnotation(desc = "总受伤", dataAttribute = "hotpot_behurt")
    private int beHurt;
    @FieldTypeAnnotation(desc = "当前血量", dataAttribute = "hotpot_blood")
    private int hp;
    @FieldTypeAnnotation(desc = "当前护盾", dataAttribute = "hotpot_shield")
    private int shield;
    @FieldTypeAnnotation(desc = "获得分数", dataAttribute = "hotpot_score")
    private int scoreAdd;
    @FieldTypeAnnotation(desc = "获得经验", dataAttribute = "hotpot_exp")
    private int expAdd;
    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogHotpotJumpJumpMove(int activityId, long userId, int totalTimes, int round, int pot, String jumpPos, int jumpNum, int roleLv, List<String> roleSkill, List<Integer> kills, int hurt, int beHurt, int hp, int shield, int scoreAdd, int expAdd) {
        this.activityId = activityId;
        this.userId = userId;
        this.totalTimes = totalTimes;
        this.round = round;
        this.pot = pot;
        this.jumpPos = jumpPos;
        this.jumpNum = jumpNum;
        this.roleLv = roleLv;
        this.roleSkill = roleSkill;
        this.kills = kills;
        this.hurt = hurt;
        this.beHurt = beHurt;
        this.hp = hp;
        this.shield = shield;
        this.scoreAdd = scoreAdd;
        this.expAdd = expAdd;
        this.logTime = new Date();
    }

    @Override
    public long getUserId() {
        return userId;
    }
}
